21. Lesson Conclusion

Lesson Conclusion

ND079 JPND C2 L03 A21 Lesson Conclusion V2

Wow, that was a lot!

In this lesson, we went over the SOLID software design principles, which are guiding ideas to help you create flexible, easier to understand software.

We also covered several creational, behavioral, and structural design patterns, which can provide you will a toolkit for approaching new software design problems, and to help your designs adhere to the design principles.

Here's are the patterns you learned about:

  • Singleton
  • Builder
  • Abstract Factory
  • Strategy
  • Template Method
  • Adapter
  • Decorator
  • Proxy
  • Dependency injection

Before wrapping up, it's worth mentioning that, even though all the examples and diagrams in this lesson used Java code, the design principles and patterns you learned can apply to software development in any language, not just Java. Keeping these concepts in mind can help you become a more effective programmer no matter what what technologies you use in your software development career.